<h1 align="center">Hi there, I`m,
	<a href="https://notabug.org/Nick_Kramer" target="_blank">
	Nick Kramer.
	</a> 
</h1>

<h3 align="center"> Porject: NT117_MODBUS_SERVER. </h3>

<p align="left">
* Описание: Простой пример modbus сервера, для ваших устройств, с использованием библиотеки <a href="https://libmodbus.org" terget="_blank"> Libmodbus 3.1.10 (2022-12-07) </a>
</p>

`LICENCIA` = **GPLv3** 

### Как это всё собрать и запустить?

Клонируете этот гит.
    
    $ git clone https://notabug.org/Nick_Kramer/NT117_MODBUS_SERVER.git
    
Выполняете команду make с полными правами (в этой директории).
    
    $ sudo make
    
### Описание ключей запуска сервера

* Пример запуска:
    
    $ sudo ./nt117-mb-server < key >

* Список ключей:
    * -h или --help - вызов справочника.
    * -d - запуск сервера с установленными параметрами в исходнике.

### Тестировка данного сервера ПК --> Одноплатный компьютер (NanoPi NEO).

**Консоль NanoPi и программа Modbus Universal MasterOPC Server.**

![](Screenshots/NanoPi_and_ModbusOPC.png)<br>

**Отображение данных в Simple-Scada.**
![](Screenshots/SimpleScada.png)<br>

### Дополнительная информация/софт.

* В роле сервера со скадой был обычный ПК, на базе OS Windows 10.
* Софт для опроса Modbus устройства и передачи данных 
  в скаду <a href="https://insat.ru/prices/info.php?pid=6944" terget="_blank"> Modbus Universal MasterOPC Server (32 тега)</a>.
* Софт для изображения данных получанных с Modbus устройства <a href="hhttps://simple-scada.com/download" terget="_blank"> Simple-Scada (64 тега)</a>.

### Чутка опыта.

Если вы собирали библиотеку libmodbus из официальных исходников 
гитхаба, на ПК с OS Linux (Дебиан и на его базе, подобные операционные 
системы) возникает такая ошибка

**libmodbus.so.5: cannot open shared object file: No such file or directory** 

Добавтье файлы libmodbus.so.* в /lib/x86_64-linux-gnu/
Данныее файлы распологаются в "место сборки"/libmodbus/src/.libs/

### TODO list: nt117-mb-server.

* Запуск сервера с заданными ключами конфигурации (RTU/TCP, ip адрес, порт, ID номер и т.д.).
* Подгружать файл карты памяти modbus регистров.